PRÁCTICA MACHINE LEARNING: ANÁLISIS DE SINIESTRALIDAD. CASO CANADA TRAFFIC COLLISION

Antonio Bartolomé Redondo

Daniel Buendía Ureña

MODELADO

00. DIVISIÓN DE LA MUESTRA EN TRAIN Y TEST

En primer lugar, se comprueba el número de ceros y unos de la variable objetivo para decidir si se debe hacer un oversampling o no. Mientras que los accidentes sin fatalidades exceden el millón ochocientos mil, los que provocan muertes ni siquiera llegan a cuarenta mil. Por lo tanto, se procede a la realización de un oversampling que eleve la muestra de unos.

Para ello, se divide la muestra primeramente en train y test para que la división mantenga las características originales del dataset.

Con la función SMOTE se realiza un oversampling automático que necesita de una semilla (random_state) para obtener los valores requeridos y de un sampling_strategy que determine a grandes rasgos el porcentaje al que queremos llegar con la ampliación del muestreo. Cabe destacar que este procedimiento se realiza únicamente sobre el training, dejando el test aparte con las propiedades orginales del dataset

01. Modelado preliminar

En primer lugar, se realizará un modelado del dataset con la configuración por defecto, para tener una primera referencia de la performance de los dstintos modelos. Para ello, hacemos una lista de los modelos que queremos estudiar: GLM o modelo lineal generalizado (Tweedie Regressor en nuestro caso), Random Forest, XGB y LightGBM. Posteriormente, con un bucle y el empleo del Pipeline podemos estandarizar los valores de cada variable para cada clasificador y entrenar así todos los modelos. Una vez ejecutados, se comprueba que los que mejor score tienen son el Random Forest y el LightGBM, ambos con un 98%.

02. Estimación de un modelo lineal Lasso y selección de variables

Como cualquier modelización mediante regresión lineal, es conveniente escalar las variables antes de estimar el modelo, ya que el algoritmo es sensible a la magnitud de los datos, y puede influir negativamente en la estimación de los parámetros. Por ello, este será el primer paso a realizar.

Aquellas variables que obtienen una importancia mayor tras la penalización Lasso son la V_TYPE_1 (coches), la V_TYPE_17 (bicicletas), la P_SEX_M (hombres) y la P_SAFE (porcentaje de personas involucradas en el accidente que utilizaban algún tipo de dispositivo de seguridad)

Modelado tras reducir la dimensión

A continuación se va a llevar a cabo un nuevo entrenamiento de los clasficiadores utilizados en la primera modelización, esta vez considerando únicamente aquellas variables significativas tras la regulariazación Lasso. Por lo tanto, el primer paso será modificar el conjunto de datos de X_train y X_test, para que contengan únicamente las variables importantes.

Por lo tanto, aquel clasificador que se presenta como el que mejor estimación del modelo proporciona es el LightGBM con unas métricas superiores al resto de clasificadores destacando principalmente en su Recall y F-Score respecto a los demás. Además, observando la matrices de confusión, es aquel que es capaz de identificar un mayor número de valor true positive. Por lo tanto, será aquel utilizado para optimizar a través de la selección de hiperparámetros mediante CrossValidation. El XGBoost, por su parte, tiene una performance similar, siendo ligeramente inferior. EL LinearModel LogisticRegression, es capaz de detectar un gran número de valores TP, pero sin embargo comete un mayor error que perjudica su performance, como muestran sus principales métricas. Por último, cabe destacar que el clasificador RandomForest se presenta como el que peor es capaz de estimar el modelo. Además, se observa que el rendimiento de todos los modelos es inferior tras llevar a cabo la reducción de variables mediante la estimación de un modelo lineal Lasso con penalización L1, por lo que se considerarán todas las variables en la optimización por hiperparámetros. Esto tiene sentido, ya que un mayor número de variables otorga una mayor flexibilidad a los modelos basados en árboles y les permite tener un mejor comportamiento.

Selección de hiperparámetros mediante validación cruzada

Para la optimización de hiperparámetros del modelo seleccionado anteriormente, se va a utilizar la técnica de validación cruzada. Se ha decidido implementar dos fases en el proceso. Una primera fase, se utilizará el RandomizedSearchCV para acotar el espacio de hiperprámetros. Con aquellos parámetros seleccionados, se realizará una nueva validación cruzada utilizando GridSearchCV sobre valores cercanos a los hiperparámetros devueltos en la primera fase, de manera que se realice una búsqueda más exhaustiva hasta llegar a la configuración óptima para el problema.

Se obtiene que el threshold que optimiza el modelo es igual a 0.075053

La Curva de ROC cuenta con varios parámetros que la determinan. El primero, la g-mean (72.1%) que mide la bondad de acierto tanto de 1 como de 0 que tiene el modelo y se corresponde con el área bajo la curva (aciertos). Todos los puntos que se sitúan por encima de la curva se "escapan al modelo", ya que no se identifican correctamente. A su vez, el gráfico muestra el threshold óptimo para nuestro problema, que permite maximizar la tasa de acierto de T minimizando la tasa de fallo de FP. En este caso, ese valor sería igual a 0.075053, de forma que en las preddicciones en que se obtenga una probabilidad de ocurrencia de fatalidad superior a ese número, pasarían a ser considerados como unos y todos los de debajo como ceros. En un principio el threshold considerado para llevar a cabo dicha clasificación es de 0.5. No obstante, como nuestro modelo detecta peor los unos, tiene sentido que el umbral de clasificación baje para que aumente la detección, en detrimento de un mejor porcentaje de acierto en los ceros.

Como se puede observar en el gráfico de la función acumulativa de ganancia como consecuenia de que el dataset está muy desbalanceado, el punto de ganancia máximo se alcanza alrededor del percentil 20%, es decir, que con el 20% de accidentes con mayor probabilidad de fatalidad, se obtiene el 60% del total de accidentes con fatalidad.

Como se puede observar en el gráfico de la curva lift como consecuenia de que el dataset está muy desbalanceado, la curva es muy plana, siendo aquellos percentiles con una probabilidad mayor los que obtienen un mayor lift, que es el ratio que compara el porcentaje de aciertos de TP en ese punto respecto el porcentaje de aciertos en el total de la muestra.

Selección del Threshold

Acontinuación, se realizarán varias pruebas en las que se modificará el valor del threshold para detectar el modelo que se ajuste mejor a los requerimientos del problema. Comenzamos por el Threshold óptimo calculado anteriormente:

Evolución del modelo y modelo final elegido

Ratios Sin Selecc.Var Selecc. var. CV TH optimo
Accuracy 0.94979 0.95231 0.95981 0.72939
Recall 0.23629 0.16693 0.19061 0.71253
Precision 0.12011 0.09799 0.13831 0.05137
F-Score 0.15926 0.12349 0.16030 0.09583

En la tabla anterior se detalla la evolución de las principales métricas de evaluación de los modelos estimados. El primer modelo, lanzado con la configuración de hiperparámetros por defecto, muestra un rendimiento correcto, con un accuracy del 95% y un F1-Score del 16% como principales métricas. Tras la reducción de variables con la estimación de un modelo lineal Lasso con penalización L1, se observa que el performance del modelo se reduce significativamente, disminuyendo todas las métricas a excepción del Accuracy, por lo que en la optimización posterior de hiperparámetros se han considerado todas las variables. La estimación del modelo LightGBM tras la optimización de sus parámetros mediante validación cruzada, mejora el rendimiento del modelo, pero no lo hace de manera significativa. Esto, puede en parte producirse, por algo de overfitting ya que tanto el número de árboles estimados como el número de hojas seleccionado era el mayor posible. Tras realizar varias comprobaciones variando el threshold del último modelo estimado, se ha determinado que el threshold óptimo es aquel que permite modelizar mejor la serie de datos para el objetivo planteado, ya que aunque se reduce tanto el Accuracy como el Precission como el F1-Score, es aquel que devuelve una matriz de confusión más balanceada en cuanto al número de TP y TN, y como consecuencia aquel que permite maximizar el Recall. El Recall, para el caso de estudio se considera una métrica clave, ya que no predecir correctamente una fatalidad y que realmente exista puede ser más perjudicial para la aseguradora que el caso de predecir fatalidad y que finalmente no ocurra. Por lo tanto, el modelo seleccionado, con un threshold de 0.075053, predecirá fatalidad cuando la pred_proba de 1 sea mayor o igual al 7,5%. Que el threshold óptimo sea tan pequeño, se produce como consecuencia de las características del dataset que está muy desbalanceado. Por último destacar como la matriz de confusión del modelo arroja unos resultados de acierto del 73% en el caso de los accidentes sin fatalidad y del 71% de los accidentes que suponen al menos una fatalidad.

Interpretabilidad

La interpretabilidad es el grado en el que una persona puede predecir el resultado de un modelo. Cuanta mayor interpretabilidad tenga un modelo, mas fácil será comprenderlo y predecirlo. Es una característica necesaria para paliar las situaciones en las que la información está incompleta, ya que para ciertos proyectos o problemas la predicción por sí sola no es suficiente, sino que necesita de una explicación de cómo se ha llegado a ella: interpretabilidad del modelo. A su vez, la interpretación de una predicción errónea ayuda a comprender la causa del error. Los principales rasgos que todo modelo con una buena interpretabilidad ha de cumplir son los siguientes:

Como se observa en el gráfico, ninguna de las variables demuestra un elevado grado discriminatorio sobre la variable objetivo.

En el gráfico se representan las 10 variables con mayor importancia. Por lo tanto las principales variables que afectan al modelo tienen una contribución marginal media positiva y tienden al valor 0. A excepción de la variable P_SAFE, que discrimina en mayor medida hacia el valor 1. En un punto intermedio se encuentran el C_VEHS y la A_VAGE.

Conclusiones de la interpretabilidad: